Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

284
Views
¿Cómo caducar una sesión en la cookie "laravel_session" de Laravel SPA?"

Actualmente tengo una aplicación con Laravel + Sanctum + Vue SPA + Apollo GraphQL.

Estoy tratando de hacer que una sesión caduque como en una aplicación normal de Laravel, pero no puedo lograrlo.

Primero hago una solicitud para activar la csrf-cookie de Sanctum en la interfaz:

 await fetch(`${process.env.VUE_APP_API_HTTP}/api/csrf-cookie`, { credentials: 'include' })

Genera 2 cookies en el navegador: XSRF-COOKIE y laravel_session

Al iniciar sesión, uso apollo y auth-token después de realizar una solicitud de inicio de sesión:

 const data = await apolloClient.mutate({ mutation: Login, variables: credentials }) const token = data.data.login.token await onLogin(apolloClient, token) export async function onLogin (apolloClient, token) { if (typeof localStorage !== 'undefined' && token) { localStorage.setItem(AUTH_TOKEN_NAME, token) } ....

Así que paso el token y la cookie a apolloClient link prop, pero no estoy seguro de si es necesario pasar el XSRF-TOKEN.

 const authLink = setContext(async (_, { headers }) => { const token = localStorage.getItem(AUTH_TOKEN_NAME) return { headers: { ...headers, authorization: token ? `Bearer ${token}` : '', 'XSRF-TOKEN': Cookie.get('XSRF-TOKEN'), } } })

Aquí está el problema: la sesión de inicio de sesión nunca caduca, incluso con la cookie laravel_session , ya intenté pasar laravel_session como encabezado en mi conexión de enlace, pero parece que no funciona.

Mi session.php de Laravel está configurado 'expire_on_close' => true para asegurarme de que puedo probarlo. Cierro el navegador y lo vuelvo a abrir, también estoy seguro de que la cookie está configurada para caducar al cerrar porque dice en la información de cookies del navegador.

¿Alguna idea de cómo puedo hacer que la sesión de laravel funcione en un SPA?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si está utilizando cookies para administrar la sesión, su archivo .env debería verse así:

 SESSION_DRIVER=cookie

También puede definir la duración de la sesión a continuación

 SESSION_LIFETIME=120

Sugerencia: establezca la vida útil en 1 minuto, inicie sesión y espere a ver si caduca. ¡Hágamelo saber!

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!